It is well known to generate customised documents, either manually or using an automated system, from precedents or templates.
If this is done manually, then a printed standard form or other precedent, containing blank spaces for particular relevant information, will be filled in and edited on each specific occasion it is used. Instructions may be included in the standard document to help the user insert the correct or appropriate information.
If this is done using an automated system, then an electronically stored document or template will be used, in conjunction with various logical rules and other criteria, to prompt the user for the correct information and to assemble a customised document by associating various relevant rules with variables within the template. An example is the HotDocs® system which uses a library of Form Templates, which store both static and dynamic areas of text, that are initially customised by the user, in conjunction with a questionnaire to produce a completed customised document. Necessary information relevant to the dynamic text areas may either be input directly by a user, or gathered from an Answer File. The Answer File contains information which is repeatedly used in the same or similar customised document. Various logical rules and calculation criteria are used to associate information with the template to produce a final customised document. This document may then be edited, printed or stored.
Other known automated systems include that described in WO01/04772. In this system, a server computer runs a document generation program and is capable of communicating with local or remote client computers over a local area network (LAN) or a wide area network (WAN), such as the Internet. A standard document, comprising various items of known information and associated logical rules, is first translated into a form suitable for processing by the document generation program. When instructed to generate a customised document, the server first generates one or more web pages which are sent to client computers for user input of the further information required to evaluate the logical rules. Users may then submit the further information to the server. Once all the required further information has been captured, the server generates a customised document on the basis of the standard document and received further information.
When information is captured, the transaction values entered by the user will be substituted for the various variables in the template. One difficulty in capturing such transaction values using web pages or web forms, is ensuring that the page or form prompts the user for the correct information. This is a particular problem when, in a series of related questions, some of the information needed is dependent on an answer to a previous question.
In particular, there will be occasions when some of the variables will be dependent on various transaction values, and the behaviour of these various transaction values will affect the behaviour of the dependent variables. In some circumstances, this dependency can cause questions to be enabled or disabled in the web page or form incorrectly.
The prior art approach to solving these problems is to hand encode a series of complex conditional statements, or to edit and re-edit code by hand each time a transaction value changes. This is time consuming and prone to error.